#ifndef __DRM_ENCAP_H__
#define __DRM_ENCAP_H__
#ifdef __cplusplus
    extern "C" {
#endif

#include <errno.h>
#include <fcntl.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/mman.h>
#include <time.h>
#include <unistd.h>
#include <xf86drm.h>
#include <xf86drmMode.h>
#include <signal.h>

struct drm_device {
	uint32_t width;			//显示器的宽的像素点数量
	uint32_t height;		//显示器的高的像素点数量
	uint32_t pitch;			//每行占据的字节数
	uint32_t handle;		//drm_mode_create_dumb的返回句柄
	uint32_t size;			//显示器占据的总字节数
	uint32_t *vaddr;		//mmap的首地址
	uint32_t fb_id;			//创建的framebuffer的id号
	struct drm_mode_create_dumb create ;	//创建的dumb
 	struct drm_mode_map_dumb map;			//内存映射结构体
};

#define DRM_BUF_NUM 3
extern struct drm_device drm_buf[DRM_BUF_NUM];

int drm_encap_init(void);
int drm_encap_set_fb_num(int num);
int drm_encap_deinit(void);

#ifdef __cplusplus
    }
#endif
#endif//__DRM_ENCAP_H__